gtk-demo: Explicitly pass nuclear icon colors
authorBenjamin Otte <otte@redhat.com>
Fri, 27 Aug 2021 21:44:42 +0000 (23:44 +0200)
committerBenjamin Otte <otte@redhat.com>
Sun, 29 Aug 2021 02:29:53 +0000 (04:29 +0200)
demos/gtk-demo/paintable.c
demos/gtk-demo/paintable.h
demos/gtk-demo/paintable_animated.c
demos/gtk-demo/paintable_mediastream.c

index 8ed5e51ddefb51e30e44d1c3c8934ad0b91871eb..ef0480db62d61b26817885ec6c37a87a6e693088 100644 (file)
@@ -45,26 +45,27 @@ struct _GtkNuclearIconClass
  * so that it can be called from all the other demos, too.
  */
 void
-gtk_nuclear_snapshot (GtkSnapshot *snapshot,
-                      double       width,
-                      double       height,
-                      double       rotation,
-                      gboolean     draw_background)
+gtk_nuclear_snapshot (GtkSnapshot   *snapshot,
+                      const GdkRGBA *foreground,
+                      const GdkRGBA *background,
+                      double         width,
+                      double         height,
+                      double         rotation)
 {
 #define RADIUS 0.3
   cairo_t *cr;
   double size;
 
-  if (draw_background)
-    gtk_snapshot_append_color (snapshot,
-                               &(GdkRGBA) { 0.9, 0.75, 0.15, 1.0 },
-                               &GRAPHENE_RECT_INIT (0, 0, width, height));
+  gtk_snapshot_append_color (snapshot,
+                             background,
+                             &GRAPHENE_RECT_INIT (0, 0, width, height));
 
   size = MIN (width, height);
   cr = gtk_snapshot_append_cairo (snapshot,
                                   &GRAPHENE_RECT_INIT ((width - size) / 2.0,
                                                        (height - size) / 2.0,
                                                        size, size));
+  gdk_cairo_set_source_rgba (cr, foreground);
   cairo_translate (cr, width / 2.0, height / 2.0);
   cairo_scale (cr, size, size);
   cairo_rotate (cr, rotation);
@@ -94,9 +95,10 @@ gtk_nuclear_icon_snapshot (GdkPaintable *paintable,
    */
 
   gtk_nuclear_snapshot (snapshot,
+                        &(GdkRGBA) { 0, 0, 0, 1 }, /* black */
+                        &(GdkRGBA) { 0.9, 0.75, 0.15, 1.0 }, /* yellow */
                         width, height,
-                        nuclear->rotation,
-                        TRUE);
+                        nuclear->rotation);
 }
 
 static GdkPaintableFlags
index a89713f9b1a108aa43086675c2bd4719a43f342d..b8d78160bb796b90289af8d5c9999d0c485a8e0f 100644 (file)
@@ -4,10 +4,11 @@
 #include <gtk/gtk.h>
 
 void            gtk_nuclear_snapshot           (GtkSnapshot     *snapshot,
+                                                const GdkRGBA   *foreground,
+                                                const GdkRGBA   *background,
                                                 double           width,
                                                 double           height,
-                                                double           rotation,
-                                                gboolean         draw_background);
+                                                double           rotation);
 
 GdkPaintable *  gtk_nuclear_icon_new            (double          rotation);
 GdkPaintable *  gtk_nuclear_animation_new       (gboolean        draw_background);
index 5d72483c961bf34c23ba8c7d5ad848fef6a8859a..f60f287e8da480b4377974aed105d2c54758e157 100644 (file)
@@ -65,9 +65,12 @@ gtk_nuclear_animation_snapshot (GdkPaintable *paintable,
 
   /* We call the function from the previous example here. */
   gtk_nuclear_snapshot (snapshot,
+                        &(GdkRGBA) { 0, 0, 0, 1 }, /* black */
+                        nuclear->draw_background
+                          ? &(GdkRGBA) { 0.9, 0.75, 0.15, 1.0 } /* yellow */
+                          : &(GdkRGBA) { 0, 0, 0, 0 }, /* transparent */
                         width, height,
-                        2 * G_PI * nuclear->progress / MAX_PROGRESS,
-                        nuclear->draw_background);
+                        2 * G_PI * nuclear->progress / MAX_PROGRESS);
 }
 
 static GdkPaintable *
index 54d805c2061497d8bf5360935d56e5602a034e87..0228c758035af9f0b6554e59f7d93919dbb3efac 100644 (file)
@@ -73,9 +73,10 @@ gtk_nuclear_media_stream_snapshot (GdkPaintable *paintable,
 
   /* We call the function from the previous example here. */
   gtk_nuclear_snapshot (snapshot,
+                        &(GdkRGBA) { 0, 0, 0, 1 }, /* black */
+                        &(GdkRGBA) { 0.9, 0.75, 0.15, 1.0 }, /* yellow */
                         width, height,
-                        2 * G_PI * nuclear->progress / DURATION,
-                        TRUE);
+                        2 * G_PI * nuclear->progress / DURATION);
 }
 
 static GdkPaintable *